IPv6 Networking Configuration Lab

In this lab, you configure a network interface with a static IPv6 address. Once the interface is configured, you confirm that it works and identify other IPv6 nodes on the local network. You also explore the contents of the configuration file created by NetworkManager.

  1. Before making any changes, display the list of existing network interfaces to determine the system’s current configuration and which interfaces are managed by NetworkManager:

    1. Reset the server1.example.com system.

    2. Become the root user.

    3. Use ip link to display all of the network interfaces recognized by the system.

      [root@server1 ~]# ip link
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
      2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
          link/ether 52:54:00:00:07:0b brd ff:ff:ff:ff:ff:ff
      4: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
          link/ether ce:c4:7c:28:4c:7a brd ff:ff:ff:ff:ff:ff
    4. Use nmcli to list the network interfaces that NetworkManager manages.

      [root@server1 ~]# nmcli con show
      NAME         UUID                                  TYPE            DEVICE
      System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0
  2. Create a NetworkManager connection, called eth1, for the eth1 network interface. Redisplay the list of managed interfaces to confirm NetworkManager manages eth1.

    1. Use nmcli to create the connection for eth1.

      [root@server1 ~]# nmcli con add con-name eth1 type ethernet ifname eth1
      Connection 'eth1' (0d687259-c64b-4e5b-bece-cabbe952e46f) successfully added.
    2. Display the new list of interfaces managed by NetworkManager.

      • eth1 should be in the list.

        [root@server1 ~]# nmcli con show
        NAME         UUID                                  TYPE            DEVICE
        eth1         0d687259-c64b-4e5b-bece-cabbe952e46f  802-3-ethernet  eth1
        System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0
  3. Display the current IP address information for eth1.

    • It has an IPv6 link-local address assigned to it (the address on the fe80::/64 network).

      [root@server1 ~]# ip addr show eth1
      4: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
          link/ether 06:8f:6e:13:6e:8e brd ff:ff:ff:ff:ff:ff
          inet6 fe80::48f:6eff:fe13:6e8e/64 scope link
             valid_lft forever preferred_lft forever
  4. Display the initial, default NetworkManager IPv6 configuration settings for the connection.

    [root@server1 ~]# nmcli con show eth1 | grep ipv6
    ipv6.method:                            auto
    ipv6.dns:
    ipv6.dns-search:
    ipv6.addresses:
    ipv6.routes:
    ipv6.ignore-auto-routes:                no
    ipv6.ignore-auto-dns:                   no
    ipv6.never-default:                     no
    ipv6.may-fail:                          yes
    ipv6.ip6-privacy:                       -1 (unknown)
    ipv6.dhcp-hostname:                     --
  5. Configure eth1 with a static IPv6 address of fddb:fe2a:ab1e::c0a8:1 with a standard /64 subnet prefix. Use fe80::2ec2:60ff:fe10:3213 as the IPv6 gateway.

    [root@server1 ~]# nmcli con mod eth1 ipv6.addresses 'fddb:fe2a:ab1e::c0a8:1/64 fe80::2ec2:60ff:fe10:3213'
    [root@server1 ~]# nmcli con mod eth1 ipv6.method manual
  6. Restart the eth1 network interface and confirm its new IPv6 address configuration.

    1. Bounce the eth1 interface by taking it down, and then bringing it back up.

      [root@server1 ~]# nmcli con down eth1
      [root@server1 ~]# nmcli con up eth1
      Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
    2. Use ip addr to confirm the interface’s configuration.

      [root@server1 ~]# ip addr show dev eth1
      4: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
          link/ether 06:8f:6e:13:6e:8e brd ff:ff:ff:ff:ff:ff
          inet6 fddb:fe2a:ab1e::c0a8:1/64 scope global
             valid_lft forever preferred_lft forever
          inet6 fe80::48f:6eff:fe13:6e8e/64 scope link
             valid_lft forever preferred_lft forever
      • Notice the global address, fddb:fe2a:ab1e::c0a8:1/64, is available for use.

  7. Ping the IPv6 address for eth1.

    [root@server1 ~]# ping6 fddb:fe2a:ab1e::c0a8:1
    PING fddb:fe2a:ab1e::c0a8:1(fddb:fe2a:ab1e::c0a8:1) 56 data bytes
    64 bytes from fddb:fe2a:ab1e::c0a8:1: icmp_seq=1 ttl=64 time=0.141 ms
    64 bytes from fddb:fe2a:ab1e::c0a8:1: icmp_seq=2 ttl=64 time=0.081 ms
    ^C
    --- fddb:fe2a:ab1e::c0a8:1 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 999ms
    rtt min/avg/max/mdev = 0.081/0.111/0.141/0.030 ms
  8. Ping the IPv6 gateway to make sure it is reachable by eth1.

    [root@server1 ~]# ping6 fe80::2ec2:60ff:fe10:3213%eth1
    PING fe80::2ec2:60ff:fe10:3213(fe80::2ec2:60ff:fe10:3213) 56 data bytes
    64 bytes from fe80::2ec2:60ff:fe10:3213: icmp_seq=1 ttl=64 time=0.254 ms
    64 bytes from fe80::2ec2:60ff:fe10:3213: icmp_seq=2 ttl=64 time=0.123 ms
    64 bytes from fe80::2ec2:60ff:fe10:3213: icmp_seq=3 ttl=64 time=0.119 ms
    64 bytes from fe80::2ec2:60ff:fe10:3213: icmp_seq=4 ttl=64 time=0.123 ms
    64 bytes from fe80::2ec2:60ff:fe10:3213: icmp_seq=5 ttl=64 time=0.090 ms
    ^C
    --- fe80::2ec2:60ff:fe10:3213 ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4000ms
    rtt min/avg/max/mdev = 0.090/0.141/0.254/0.059 ms
  9. Use ip to display the IPv6 routing table, and note the default gateway listed for IPv6.

    [root@server1 ~]# ip -6 route
    unreachable ::/96 dev lo  metric 1024  error -101
    unreachable ::ffff:0.0.0.0/96 dev lo  metric 1024  error -101
    unreachable 2002:a00::/24 dev lo  metric 1024  error -101
    unreachable 2002:7f00::/24 dev lo  metric 1024  error -101
    unreachable 2002:a9fe::/32 dev lo  metric 1024  error -101
    unreachable 2002:ac10::/28 dev lo  metric 1024  error -101
    unreachable 2002:c0a8::/32 dev lo  metric 1024  error -101
    unreachable 2002:e000::/19 dev lo  metric 1024  error -101
    unreachable 3ffe:ffff::/32 dev lo  metric 1024  error -101
    fddb:fe2a:ab1e::/64 dev eth1  proto kernel  metric 256
    fe80::/64 dev eth0  proto kernel  metric 256
    fe80::/64 dev eth1  proto kernel  metric 256
    default via fe80::2ec2:60ff:fe10:3213 dev eth1  proto static  metric 1024
  10. Discover other local IPv6 nodes on the network. Ping the link-local all-nodes multicast group (ff02::1) through the eth1 interface to see which other hosts respond.

    [root@server1 ~]# ping6 ff02::1%eth1
    PING ff02::1%eth1(ff02::1) 56 data bytes
    64 bytes from fe80::fc46:acff:fefe:10b7: icmp_seq=1 ttl=64 time=0.298 ms
    64 bytes from fe80::707e:68ff:fe3e:fd23: icmp_seq=1 ttl=64 time=0.306 ms (DUP!)
    64 bytes from fe80::707e:68ff:fe3e:fd23: icmp_seq=2 ttl=64 time=0.125 ms
    64 bytes from fe80::fc46:acff:fefe:10b7: icmp_seq=2 ttl=64 time=0.161 ms (DUP!)
    64 bytes from fe80::707e:68ff:fe3e:fd23: icmp_seq=3 ttl=64 time=0.107 ms
    64 bytes from fe80::fc46:acff:fefe:10b7: icmp_seq=3 ttl=64 time=0.136 ms (DUP!)
    64 bytes from fe80::707e:68ff:fe3e:fd23: icmp_seq=4 ttl=64 time=0.111 ms
    64 bytes from fe80::fc46:acff:fefe:10b7: icmp_seq=4 ttl=64 time=0.143 ms (DUP!)
    64 bytes from fe80::707e:68ff:fe3e:fd23: icmp_seq=5 ttl=64 time=0.131 ms
    64 bytes from fe80::fc46:acff:fefe:10b7: icmp_seq=5 ttl=64 time=0.167 ms (DUP!)
    64 bytes from fe80::707e:68ff:fe3e:fd23: icmp_seq=6 ttl=64 time=0.109 ms
    64 bytes from fe80::fc46:acff:fefe:10b7: icmp_seq=6 ttl=64 time=0.141 ms (DUP!)
    64 bytes from fe80::707e:68ff:fe3e:fd23: icmp_seq=7 ttl=64 time=0.116 ms
    64 bytes from fe80::fc46:acff:fefe:10b7: icmp_seq=7 ttl=64 time=0.150 ms (DUP!)
    ^C
    --- ff02::1%eth1 ping statistics ---
    7 packets transmitted, 7 received, +7 duplicates, 0% packet loss, time 5999ms
    rtt min/avg/max/mdev = 0.107/0.157/0.306/0.062 ms
  11. Identify the interface configuration file for the eth1 network interface in /etc/sysconfig/network-scripts. View the file contents and note which variable assignments relate to the IPv6 configuration that was performed earlier.

    [root@server1 ~]# ls /etc/sysconfig/network-scripts/ifcfg-* 
    /etc/sysconfig/network-scripts/ifcfg-eth1
    /etc/sysconfig/network-scripts/ifcfg-eth0
    /etc/sysconfig/network-scripts/ifcfg-lo
    [root@server1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
    TYPE=Ethernet
    BOOTPROTO=dhcp
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=no
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    NAME=eth1
    UUID=4214d89b-f409-4853-8e31-4e673845e1a1
    DEVICE=eth1
    ONBOOT=yes
    IPV6ADDR=fddb:fe2a:ab1e::c0a8:1/64
    IPV6_DEFAULTGW=fe80::2ec2:60ff:fe10:3213
    PEERDNS=yes
    PEERROUTES=yes

The eth1 network interface on your server1.example.com machine is now managed by NetworkManager with a connection named eth1. You configured a static IPv6 address of fddb:fe2a:ab1e::c0a8:1/64 and an IPv6 gateway of fe80::2ec2:60ff:fe10:3213/64.